﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using MTO.Library.Domain.Constants;
using System.Reflection;

namespace MTO.Library.Web
{
    public class ApplicationStartup
    {
        // Initialise des paramètres par défaut de l'application
        public static void Initialize()
        {
            //RolesInitializer();
        }

        /// <summary>
        /// Initialise les rôles définis dans l'application en s'assurant qu'ils existes dans la BD
        /// </summary>
        private static void RolesInitializer()
        {
            string[] roles = Roles.GetAllRoles();

            foreach (FieldInfo fieldInfo in typeof(ApplicationRoles).GetFields())
            {
                string fieldValue = (string)fieldInfo.GetValue(fieldInfo);

                if (!roles.Contains(fieldValue))
                {
                    Roles.CreateRole(fieldValue);
                }
            }
        }
    }
}